Breaking the text constituting a paragraph into lines is a fundamental challenge in print rendering. Most automated typesetting systems in use today use the classic algorithm by Knuth and Plass, published in 1981, to automatically determine line break locations and break up paragraphs into approximately evenly spaced lines. Knuth's algorithm is based on a heuristic “demerit” function, and has been modified in various ways over the past decades.
The Knuth method involves adjusting multiple variables until reaching a desired outcome. Consequently, the Knuth method is not particularly intuitive, and does not allow a system to “learn” from existing, professionally-set type.